package com.passengerflowmanagementsystem.statistics.domain.vo;

/**
 * 查询监控点列表v2Vo
 */
public class CameraSearchVo {

    /**
     * 名称，模糊搜索，最大长度32，若包含中文，最大长度指不超过按照指定编码的字节长度，即getBytes("utf-8").length
     */
    private String name;

    /**
     * 区域编号,可以为空; String[]，支持根据区域批量查询； 区域编号个数 <=1000个； 单个长度<=64Byte；，可从[查询区域列表v2]@[软件产品-综合安防管理平台-API列表-资源目录-区域信息接口#查询区域列表v2]接口获取返回参数indexCode
     */
    private String[] regionIndexCodes;

    /**
     * true时，搜索regionIndexCodes及其子孙区域的资源； false时，只搜索 regionIndexCodes的资源
     */
    private Boolean isSubRegion;

    /**
     * 当前页码
     */
    private Number pageNo;

    /**
     * 分页大小
     */
    private Number pageSize;

    /**
     * 权限码集合，详见[附录A.3 资源权限码]@[软件产品-综合安防管理平台-附录-附录A 数据字典#附录A.3 资源权限码]
     */
    private String[] authCodes;

    /**
     * 查询表达式
     */
    private Expressions[] expressions;

    /**
     * 排序字段,注意：排序字段必须是查询条件，否则返回参数错误
     */
    private String orderBy;

    /**
     * 降序升序,降序：desc 升序：asc
     */
    private String orderType;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String[] getRegionIndexCodes() {
        return regionIndexCodes;
    }

    public void setRegionIndexCodes(String[] regionIndexCodes) {
        this.regionIndexCodes = regionIndexCodes;
    }

    public Boolean getSubRegion() {
        return isSubRegion;
    }

    public void setSubRegion(Boolean subRegion) {
        isSubRegion = subRegion;
    }

    public Number getPageNo() {
        return pageNo;
    }

    public void setPageNo(Number pageNo) {
        this.pageNo = pageNo;
    }

    public Number getPageSize() {
        return pageSize;
    }

    public void setPageSize(Number pageSize) {
        this.pageSize = pageSize;
    }

    public String[] getAuthCodes() {
        return authCodes;
    }

    public void setAuthCodes(String[] authCodes) {
        this.authCodes = authCodes;
    }

    public Expressions[] getExpressions() {
        return expressions;
    }

    public void setExpressions(Expressions[] expressions) {
        this.expressions = expressions;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }
}
